// 引入事件总线，用于组件间通信
import eventBus from "@/utils/eventBus";
export default {
    // 获取默认配置，定义删除和退格键的 keyCode
    getDefaultCfg() {
        return {
            backKeyCode: 8,    // 退格键
            deleteKeyCode: 46  // 删除键
        };
    },
    // 注册需要监听的事件
    getEvents() {
        return {
            keyup: 'onKeyUp',     // 键盘弹起
            keydown: 'onKeyDown'  // 键盘按下
        };
    },
    // 键盘按下时的处理逻辑
    onKeyDown(e) {
        const code = e.keyCode || e.which;
        switch (code) {
            case this.deleteKeyCode:
            case this.backKeyCode:
                // 按下删除或退格键时，触发删除选中元素的事件
                eventBus.$emit('deleteItem')
                break
        }
    },
    // 键盘弹起时的处理逻辑
    onKeyUp() {
        this.keydown = false;
    }
};
